﻿@model FlyingCircusWebIS.ViewModels.PessoaVM.PessoaReservasVM

@{
    ViewBag.Title = "Histórico das minhas reservas";
}
<div id="outraspg">
    <h1>Histórico das minhas reservas</h1>

    @{
        if (Model.TotalRegistros > 0)
        {
        <table class="listagem">
            <tr>
                <th class="hide2">Código</th>
                <th>Código do Voo</th>
                <th class="hide2">Data da reserva</th>
                <th>Assento</th>
                <th>Data da partida</th>
                <th class="hide2">Preço</th>
                <th>Origem</th>
                <th>Destino</th>
                <th></th>
            </tr>
            @for (int i = 0; i < Model.TotalRegistros; i++)
            {
                <tr>
                    <td class="hide2">
                        @Model.Reservas[i].IdReserva
                    </td>
                    <td>
                        @Model.Reservas[i].Voo.NomeVoo
                    </td>
                    <td class="hide2">
                        @Model.Reservas[i].DataVenda
                    </td>
                    <td>
                        @Model.TupleIdReservaAssentoFormatado.Find(a => a.Item1 == Model.Reservas[i].IdReserva).Item2
                    </td>
                    <td>
                        @Model.Reservas[i].Voo.DataPartida
                    </td>
                    <td class="hide2">
                        @Model.Reservas[i].PrecoReserva.ToString("c")
                    </td>
                    <td>
                        @Model.Reservas[i].Voo.AeroportoPartida.Cidade.NomeCidade
                    </td>
                    <td>
                        @Model.Reservas[i].Voo.AeroportoChegada.Cidade.NomeCidade
                    </td>
                    <td>
                        @{
                            if (@Model.Reservas[i].PermitirCancelar)
                            { 
                                <a href="#" onclick='CancelarReserva( "@Model.Reservas[i].IdReserva")'>Cancelar</a>
                            }    
                         }

                    </td>
                </tr>
            }
        </table>
        }
        else
        {
        <p>Nenhum registro encontrado.</p>
        }    
    }
</div>


@section scripts 
{
    <script type="text/javascript">


        // Armazena o id do registro a ser cancelado
        var idRegistro;

        // Trata o evento onclick da opção de cancelar a reserva
        function CancelarReserva(id) {
            idRegistro = id;
            var mensagem = "Deseja realmente cancelar a reserva de código " + id + "?";
            JSMostraDialogConfirmacao("Cancelar", mensagem, true, RequisitaCancelarReserva);

        }

        // Efetua uma requisição ao servidor pedindo para cancelar a reserva
        function RequisitaCancelarReserva() {
            $.post('@Url.Action("CancelarReserva", "Reserva")', { id: idRegistro }, function (data) {
                // Mostra uma notificação de acordo com a resposta do servidor
                if (!data.Erro)
                    JSMostraNotificacaoSucesso(data.Mensagem, false, function () { location.reload(); });
                else
                    JSMostraNotificacaoErro(data.Mensagem, true);
            });
        }


    </script>
}